home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / notes / andrew < prev    next >
Encoding:
Text File  |  1992-11-19  |  2.2 KB  |  99 lines

  1. where the time goes, Andrew benchmark
  2.  
  3. -- native Sprite (subversion6) --
  4.  
  5. total (1.114)        89 (instrumented)
  6.  
  7. user time        52
  8. Proc_ExecEnv         9.2
  9. Fs_Read             6.5
  10. Proc_Exit         4.0
  11. Fs_Open             3.9
  12. Fs_Close         3.6
  13. Fs_Remove         2.5
  14. Fs_GetAttributes     2.3
  15. Fs_ChangeDir         1.6
  16. Fs_IOControl         1.4
  17. Fs_Write         1.0
  18. Fs_GetAttributesID     0.6
  19. Fs_MakeDir         0.4
  20. Proc_Fork         0.4
  21. Vm_CreateVA         0.2
  22. Fs_CheckAccess         0.1
  23. Fs_SetAttributesID     0.1
  24.             ----
  25. subtotal         89.8
  26.  
  27.  
  28.  
  29. -- sprited (sprited.44) --
  30.  
  31. total (srv022)        249 (instrumented)
  32.  
  33. user time        52
  34. Proc_Fork        51.4
  35. Proc_ExecEnv        21.0
  36. Fs_Read            20.3
  37. Fs_Write        10.2
  38. Fs_Close         8.5
  39. Fs_Open             8.3
  40. Vm_CreateVA         4.6
  41. Fs_Remove         3.9
  42. Fs_GetAttributes     3.3
  43. Fs_ChangeDir         3.2
  44. Fs_IOControl         2.4
  45. Fs_GetAttributesID     1.8
  46. Sig_SetAction         0.7
  47. Fs_Access         0.4
  48. Sys_Stats         0.4
  49. Fs_SetAttrID         0.2
  50. Sig_SetHoldMask         0.2
  51. Fs_MakeDir         0.2
  52. Proc_RawExit         0.1
  53.             ----
  54. subtotal        193.3
  55. VM req. exc. fork     29.0
  56. Sprite call overhead     12.0    (17,110 calls @ 700 us/call)
  57.             ----
  58. subtotal        234.3 (94% of total)
  59.  
  60.  
  61. -- understood problems --
  62.  
  63. excessive faults during fork            44.8 (CopyRegion)
  64. read/write copyin/copyout            18 (not incl. bcopy time)
  65.   (expect 4.5 sec retrievable by using
  66.    inband MIG RPCs for read/write)
  67. RPC latency lossage                11.1 (8205 * (2.2ms - 0.85ms))
  68. unnecessary heap/stack faults             8.3 (est.) 
  69.   (from destroying the heap & stack
  70.    during exec)
  71.   (8.3K faults @ 1ms/fault)
  72. unnecessary "get attr" RPCs             5.3 ((1359 - 421)*5.661ms)
  73.   (should use Fs_FileID for comparison)
  74. minimum Sprite call overhead             4.0? (17110 * 236us)
  75. VmAddrParse                     2.5
  76. other copyin/copyout                 2 (ioctl, Sys_Stats) (est.)
  77. RPC throughput lossage                 1.8 (1.4MB * 1.3ms/KB)
  78. total:                        97.8
  79.  
  80. -- not understood problems --
  81.  
  82. (should subtract out estimate based on RPC lossage?)
  83.  
  84. unaccounted-for time                14.7
  85. unexplained Sprite call overhead         8.0
  86. Proc_Fork                     8.0
  87. Proc_ExecEnv                     7.8
  88.   (11.8 sec less 496 exec calls
  89.    -> 496 "open" RPCs -> 4 sec
  90.    delay at 8 ms/RPC)
  91. unexplained RPC slowdown             7.5 
  92.   (20.4 (16jul) less latency & throughput
  93.    problems; are there hints (e.g., for
  94.    "open") that native Sprite provides &
  95.    sprited doesn't?)
  96. segment lock contention                 4  (est.)
  97.                             VmDoRequests
  98.                             + VmSegmentReleaseInt 
  99.